package cn.itcast.dao;

import cn.itcast.pojo.Role;

import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

public interface RoleDao {

    List<Role> selectByCondition(String queryString);

    //根据id查询
    Role findRoleById(Integer id);

    //添加
    boolean add(Role role);

    //插入中间表
    void insertRoleAndPermissionId(@Param("roleId") Integer roleId, @Param("permissionId") Integer permissionId);

    //插入中间表
    void insertRoleAndMenuId(@Param("roleId") Integer roleId, @Param("menuId") Integer menuId);

    //删除中间表
    void deleteRoleAndPermissionId(Integer roleId);
    void deleteRoleAndMenuId(Integer roleId);

    //删除role
    void deleteRoleById(Integer roleId);

    ArrayList<Integer> findMenuIds(Integer roleId);

    ArrayList<Integer> findPermissionIds(Integer roleId);

    //修改
    void updateRole(Role role);


    Set<Role> findByUserId(Integer userId);

}
